namespace Core.Contracts.Interfaces
{
    /// <summary>
    /// IFitting importer interface contract
    /// </summary>
    public interface IFittingImporter
    {
        /// <summary>
        /// Determines if the fitting value is valid
        /// </summary>
        /// <param name="value">A string representation of the fitting</param>
        /// <returns></returns>
        bool IsValid(string value);
        /// <summary>
        /// Imports and return a new instance of IFitting
        /// </summary>
        /// <param name="value">A string representation of an IFitting</param>
        /// <param name="repository">An IRepository instance</param>
        /// <returns>A new instance of IFitting or null</returns>
        IFitting Import(string value, IRepository repository);
    }
}